package com.j48.entrancegurad.service.impl;

import com.j48.entrancegurad.mapper.VisitorMapper;
import com.j48.entrancegurad.model.Visitor;
import com.j48.entrancegurad.service.IVisitorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class VisitorService implements IVisitorService {

    @Autowired
    private VisitorMapper visitorMapper;

    /**
     * 查询所有访客
     * @return
     */
    @Override
    public List<Visitor> selectAll() {
        List<Visitor> lists=new ArrayList<Visitor>();
        lists=visitorMapper.selectAll();
        if (lists.size()>0){
            return lists;
        }
        return null;
    }

    /**
     * 查询所有未到访访客
     * @return
     */
    @Override
    public List<Visitor> selectAllAble() {
        List<Visitor> lists=new ArrayList<Visitor>();
        lists=visitorMapper.selectAllAble();
        if (lists.size()>0){
            return lists;
        }
        return null;
    }

    /**
     * 按用户查询未到访访客
     * @param visitor
     * @return
     */
    @Override
    public List<Visitor> selectByUser(Visitor visitor) {
        List<Visitor> lists=new ArrayList<Visitor>();
        lists=visitorMapper.selectByUser(visitor);
        if (lists.size()>0){
            return lists;
        }
        return null;
    }

    /**
     * 按用户查询所有访客
     * @param visitor 携带用户编号
     * @return
     */
    @Override
    public List<Visitor> selectAllByUser(Visitor visitor) {
        List<Visitor> lists=new ArrayList<Visitor>();
        lists=visitorMapper.selectAllByUser(visitor);
        if (lists.size()>0){
            return lists;
        }
        return null;
    }

    /**
     * 按到访日期查询访客
     * @param visitor 携带到访日期
     * @return
     */
    @Override
    public List<Visitor> selectByDate(Visitor visitor) {
        List<Visitor> lists=new ArrayList<Visitor>();
        lists=visitorMapper.selectByDate(visitor);
        if (lists.size()>0){
            return lists;
        }
        return null;
    }

    /**
     * 按访客姓名查询未到访访客
     * @param visitor 携带访客姓名
     * @return
     */
    @Override
    public List<Visitor> selectByVisitor(Visitor visitor) {
        List<Visitor> lists=new ArrayList<Visitor>();
        lists=visitorMapper.selectByVisitor(visitor);
        if (lists.size()>0){
            return lists;
        }
        return null;
    }

    /**
     * 按访客姓名查询所有访客
     * @param visitor 携带访客姓名
     * @return
     */
    @Override
    public List<Visitor> selectAllByVisitor(Visitor visitor) {
        List<Visitor> lists=new ArrayList<Visitor>();
        lists=visitorMapper.selectAllByVisitor(visitor);
        if (lists.size()>0){
            return lists;
        }
        return null;
    }

    /**
     * 添加访客记录
     * @param visitor 被添加记录
     * @return
     */
    @Override
    public boolean insert(Visitor visitor) {
        if(visitorMapper.insert(visitor)>0){
            return true;
        }else{
            return  false;
        }
    }

    /**
     * 删除访客记录
     * @param visitor 被删除记录
     * @return
     */
    @Override
    public boolean delete(Visitor visitor) {
        if(visitorMapper.delete(visitor)>0){
            return  true;
        }else{
            return false;
        }
    }

    /**
     * 更新访客记录
     * @param visitor 被更新记录
     * @return
     */
    @Override
    public boolean update(Visitor visitor) {
        if(visitorMapper.update(visitor)>0){
            return  true;
        }else{
            return false;
        }
    }

    /**
     * 按用户id查询访客记录
     * @param visitor
     * @return
     */
    @Override
    public ArrayList<Visitor> selectByUserId(Visitor visitor) {
        return visitorMapper.selectByUserId(visitor);
    }
}
